<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="AAuto" /> 
<title>控制web窗体</title>
<link href="../style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="maincontent">
<h1>控制web窗体</h1>
 <div class="desc">参考:<a href="../libraries/std/web/html.html"></a> <a href="webform.html">创建web窗体</a></div>
  <div>
    <h2>控制web窗体</h2>
    <p>我们可以使用web窗体提供的函数控制web窗体的动作。</p>
    <div class="tip">&nbsp;本手册中约定使用 wb变量名表示web.form类创建的web窗体对象.使用ele表示web窗体中的元素对象,这也是AAuto中默认约定具有特殊意义的变量名,不应将这些默认变量名用于其他目的.</div>
    <p>&nbsp;</p>
  </div>
<div>
  <h2>wb.go<a name="go" id="go"></a></h2>
  <p>&nbsp;</p>
  <p><strong>1、函数原型：</strong><br />
  </p>
  <pre>wb.go(网址,自定义http请求头,目标窗口=&quot;_self&quot;)</pre>
  <p><br />
    <strong>2、函数说明：</strong><br />
    <br />
    一般我们仅需指定需要打开的目标网址就可以了,其他参数为可选参数.<br />
  http请求头一般是以冒号分隔的键值对组成，多个键值对之间以回车换行('\r\n')分隔.<br />
  例如:<pre>'\r\nContent-Type: application/x-www-form-urlencoded'</pre><br />
  <p><strong>3、调用示例：
  </strong></p>
  </p>
  <pre><span class="comment">//....省略创建web窗体的代码,请在快手中点击&quot;主菜单-&gt;新建文件-&gt;新建web窗体&quot;</span>

wb.go(&quot;http://www.ecranesoft.com/&quot;) </pre>
</div>
<div>
  <h2>wb.post <a name="post" id="post"></a></h2>
  <p>&nbsp;</p>
  <p><strong>1、函数原型：</strong><br />
  </p>
  <pre>wb.post( 目标网址,要提交的数据
    ,自定义头='\r\nContent-Type: application/x-www-form-urlencoded',目标框架=&quot;_self&quot;)</pre>
  <p><br />
    <strong>2、函数说明：</strong><br />
    <br /> 
    这个函数类似wb.go,打开一个网址,各参数的用法类似.<br />
  不同的是多了第二个参数,在第二个参数中可以指定要自动提交的数据.<br />
  </p>
  <p>实际上我们在网页上看到登录、发贴之类的表单，填写好内容以后点击提交，最后浏览器都是执行一个post提交的动作.所以调用这个函数实际上省略了填写表单的过程.直接达到目的,与手工填表然后提交达到的效果是一样的.因为服务器根本不知道你在自已的电脑上做了什么,他只是从你post提交的数据来判断下一步该给你展现什么样的内容</p>
<p><strong>3、调用示例：
</strong></p>
  </p>
  <pre><span class="comment">//....省略创建web窗体的代码,请在快手中点击&quot;主菜单-&gt;新建文件-&gt;新建web窗体&quot;</span>

//打开目标网站
wb.post(&quot;C:\Documents and Settings\crane\Desktop\aauto\Tools\post.html&quot;
    ,&quot;username=aauto&amp;password=aauto&amp;question=0&amp;answer=&amp;templateid=0&quot; )
</pre>
</div>
<div>
  <h2>链接资源文件<a name="res" id="res"></a></h2>
  <p>如果将网页置于资源目录,在开发时该文件是硬盘文件，发布后根据发布选项，可能是内嵌的资源，也可以发布为硬盘文件，在AAuto中例如string.load等函数都可以自动识别支持两种发布方式,无需修改代码.<br />
    <br /> 
    wb.go,web.post等函数也可以智能支持资源文件中的网页,并可支持网页中的相对路径(图片等附件的路径).<br />
  在web.form中定义了一个函数web.mapurl(url)可自动检测资源文件的存储方式，并转换为正确的资源网址。而wb.go等函数会自动调用web.mapurl获得正确的网址.</div>
<div>
  <h2>wb.goback</h2>
  <p>&nbsp;</p>
  <p><strong>1、函数原型：</strong><br />
  </p>
  <pre>wb.goback()</pre>
  <p><br />
    <strong>2、函数说明：</strong><br />
    <br />
    后退到上一次打开的网页.可以响应 <a href="event.html#CommandStateChange">wb.CommandStateChange</a> 来判断是否可以后退. <br />
  </p>
</div>
<div>
  <h2>wb.goforward</h2>
  <p>&nbsp;</p>
  <p><strong>1、函数原型：</strong><br />
  </p>
  <pre>wb.goforward</pre>
  <p><strong>2、函数说明：</strong><br />
    <br />
  返回后退之前的网页. .可以响应 <a href="event.html#CommandStateChange">wb.CommandStateChange</a> 来判断是否可以后退. </p></div>
<div>
  <h2>wb.gohome()</h2>
  <p>&nbsp;</p>
  <p><strong>1、函数原型：</strong><br />
  </p>
  <pre>wb.gohome()</pre>
  <p><br />
    <strong>2、函数说明：</strong><br />
    <br />
    打开主页</p>
</div>
<div>
  <h2>wb.gosearch</h2>
  <p>&nbsp;</p>
  <p><strong>1、函数原型：</strong><br />
  </p>
  <pre>wb.gosearch()</pre>
  <p><br />
    <strong>2、函数说明：</strong><br />
    <br /> 
    打开搜索页</p>
</div>
<div>
  <h2>wb.refresh</h2>
  <p>&nbsp;</p>
  <p><strong>1、函数原型：</strong><br />
  </p>
  <pre>wb.refresh()</pre>
  <p><br />
    <strong>2、函数说明：</strong><br />
    <br />
    刷新页面,如果服务器未更新不会重新下载，类似在浏览器中按F5的效果</p>
</div>
<div>
  <h2>wb.refresh2</h2>
  <p>&nbsp;</p>
  <p><strong>1、函数原型：</strong><br />
  </p>
  <pre>wb.refresh2()</pre>
  <p><br />
    <strong>2、函数说明：</strong><br />
    <br />
  重新下载页面.强制刷新客户端缓存.<br />

  </p>
</p></div>
<div>
  <h2>wb.refresh3</h2>
  <p>&nbsp;</p>
  <p><strong>1、函数原型：</strong><br />
  </p>
  <pre>wb.refresh3()</pre>
  <p><br />
    <strong>2、函数说明：</strong><br />
    <br />
    重新下载最新页面,添加Pragma:no-cache请求头,强制刷新服务器缓存,类似在浏览器中按下Ctrl+F5的效果</p>
</div>
<div>
  <h2>wb.stop</h2>
  <p>&nbsp;</p>
  <p><strong>1、函数原型：</strong><br />
  </p>
  <pre>wb.stop()</pre>
  <p><br />
    <strong>2、函数说明：</strong><br />
    <br />
  停止当前导航</p>
</div>
<div>
  <h2>wb.write</h2>
  <p>&nbsp;</p>
  <p><strong>1、函数原型：</strong><br />
  </p>
  <pre>wb.write( 要写入的HTML代码,框架名 )</pre>
  <p><br />
    <strong>2、函数说明：</strong><br />
    <br />
  向web窗体指定框架窗口写入HTML代码,框架名可省略,默认写入顶层窗口.</p>
  <p>该函数结束会关闭输出缓冲,每次调用wb.write都会覆盖以前的写入的内容.</p>
</div>
<div>
  <h2>wb.document.write</h2>
  <p>&nbsp;</p>
  <p><strong>1、函数原型：</strong><br />
  </p>
  <pre>wb.document.write( 要写入的HTML代码 )</pre>
  <p><br />
    <strong>2、函数说明：</strong><br />
    <br />
  该函数类似wb.write写入HTML到网页,区别在于不能指定框架窗口,并且在函数结束后不会关闭输出缓冲,即每次写入的内容会追加到上一次写入的内容后面,在最后一次写入HTML时调用 wb.write函数可以关闭输出缓冲.</p>
  <p>请参考:<a href="getele.html#document">wb.document</a></p>
</div>
</div></body>
</html>